﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using BUS;
namespace PhanMemSapThoiKhoaBieu
{
    public partial class FormLopHoc : Form
    {
        public FormLopHoc()
        {
            InitializeComponent();
        }

        void LoadLop()
        {
            DataTable lop = LopHocBUS.GetAllLopHoc();
            dgvDanhSach.DataSource = lop;
            if (dgvDanhSach.Columns.Count > 1)
            {
                dgvDanhSach.Columns[1].Visible = false;
                dgvDanhSach.Columns[2].Visible = false;
            }
        }
        bool Validate()
        {
            bool result = true;
            if (tbTenLop.Text == "")
            {
                MessageBox.Show("Bạn hãy nhập tên lớp vào");
                return false;
            }
            else if (cbKhoiLop.SelectedValue.ToString() == "")
            {
                MessageBox.Show("Bạn hãy chọn khối cần thêm vào lớp");
                return false;
            }
            return result;
        }


        private void FormLopHoc_Load(object sender, EventArgs e)
        {
            DataTable khoi = LopHocBUS.GetAllKhoi();
            cbKhoiLop.DataSource = khoi;
            cbKhoiLop.ValueMember = "ID";
            cbKhoiLop.DisplayMember = "TenKhoi";
            LoadLop();
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (Validate())
            {
                LopDTO lop = new LopDTO();
                lop.TenLop = tbTenLop.Text;
                lop.IDKhoi = cbKhoiLop.SelectedValue.ToString();
                LopHocBUS.AddNewLop(lop);
                LoadLop();
            }
        }

        private void dgvDanhSach_Click(object sender, EventArgs e)
        {
            if (dgvDanhSach.SelectedRows.Count > 0)
            {
                DataGridViewSelectedRowCollection rows = dgvDanhSach.SelectedRows;
                if (rows.Count > 0)
                {
                    tbTenLop.Text = rows[0].Cells[3].Value.ToString();
                    cbKhoiLop.SelectedValue = rows[0].Cells[2].Value.ToString();
                }
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (dgvDanhSach.SelectedRows.Count > 0)
            {
                DataGridViewSelectedRowCollection rows = dgvDanhSach.SelectedRows;
                string id;
                if (rows.Count > 0)
                {
                    id = rows[0].Cells[1].Value.ToString();
                    LopHocBUS.Delete(id);
                    tbTenLop.Text = "";
                    cbKhoiLop.SelectedIndex = 0;
                    LoadLop();
                }
            }
            else
            {
                MessageBox.Show("Hãy chọn dòng cần xóa");
            }
        }

        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            if (Validate())
            {
                if (dgvDanhSach.SelectedRows.Count > 0)
                {
                    DataGridViewSelectedRowCollection rows = dgvDanhSach.SelectedRows;
                    LopDTO lopDTO = new LopDTO();
                    if (rows.Count > 0)
                    {
                        lopDTO.ID = rows[0].Cells[1].Value.ToString();
                        lopDTO.IDKhoi = cbKhoiLop.SelectedValue.ToString();
                        lopDTO.TenLop = tbTenLop.Text;
                        LopHocBUS.Update(lopDTO);
                        LoadLop();
                    }
                }
                else
                {
                    MessageBox.Show("Hãy chọn dòng cần cập nhật");
                }
            }
        }
    }
}
